package main

import (
	"fmt"
	"math/rand"
	"time"
)

/*
升级点名系统
可以无限次点名,按q退出
抽到的人不再被点
使用go语言实现5行5列盘龙数组
*/
func main() {
	name := make([]string, 10, 500)
	name = []string{"a", "b", "c", "d"}
	//设置随机种子,保证运行的随机数不同
	for {
		input := ""
		fmt.Scan(&input)
		if input == "q" { //当输入为q时程序退出
			fmt.Println("点名程序已退出")
			break
		} else { //除非退出,否则点名持续
			if len(name) > 0 {
				rand.Seed(time.Now().UnixNano()) //时间戳
				a := rand.Intn(len(name))
				fmt.Printf("被点到的人是%s \n", name[a])
				name = append(name[:a], name[a+1:]...) //将已经被点过的名字移出数组防止重复点名
			} else { //当名单已经结束时,显示点名已经结束,并退出程序
				fmt.Println("点名已全部完成")
				break
			}
		}
	}
}
